#ifndef netnode_params_h
#define netnode_params_h

#include <stdint.h>
#include "scps.h"
#include "gw.h"

struct nn_params {

  uint32_t addr[MAX_ADDRS];    
  int addr_cnt;    
  uint32_t mask[MAX_ADDRS];    

  int32_t buf;    
  int32_t rbuf;    
  int32_t rate;    
  int32_t min_rate;    
  int32_t cc;    
  int32_t divport;    
  int smtu;    
  int ts;    
  int snack;    
  int nodelay;    
  int snack_delay;    
  int ack_behave;    
  int ack_delay;    
  int tcponly;    
  int next_hop;    
  int32_t irto;    
  int vegas_alpha;    
  int vegas_beta;    
  int vegas_gamma;    
  int vegas_ss;    
  int flow_control_cap;    
  int tap_no_phy;    
  int32_t scps_security;    
  int32_t layering;    
  int32_t overhead;    
  int32_t mss_ff;    
  int nl;     
 
  uint32_t minrto;    
  uint32_t maxrto;    
  uint32_t maxrto_ctr;    
  uint32_t maxpersist_ctr;    
  uint32_t rtopersist_max;    
  uint32_t rto_to_persist_ctr;    
  uint32_t embargo_fast_rxmit_ctr;    
  int msltimeout;    
  int tp_compress;    
  int div_addr;    
  int div_port;    
  int encrypt_ipsec_downstream;    
  uint32_t encrypt_pre_overhead;    
  uint32_t encrypt_block_size;    
  uint32_t encrypt_post_overhead;    
  uint32_t ecbs1;    
  char ecbs1_value [MAX_ECBS_VALUE];    
  uint32_t ecbs1_len;    
  uint32_t ecbs2;    
  char ecbs2_value [MAX_ECBS_VALUE];    
  uint32_t ecbs2_len;
};
void nn_params_show(struct nn_params *params);
void nn_params_init(struct nn_params *params, int nn_type);

#endif
